package cn.fl.audit.transform;

import java.util.ArrayList;
import java.util.List;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.audit.dto.AudVisitRecordDTO;
import cn.fl.audit.vo.AudVisitRecordVO;

 /**
 * @Description: 回访记录表 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据 
 * @Description: VO转换数据变成DTO传递到服务端 
 * @Description: VO不能在服务端出现
 */
public class AudVisitRecordVOTransform {


	/**
	 * DTO 转  VO
	 * @param po AudVisitRecordDTO
	 * @return AudVisitRecordVO
	 */
	public static AudVisitRecordVO toVO(AudVisitRecordDTO dto) {
		AudVisitRecordVO  vo = null;
		if (dto != null) { 
			vo = new AudVisitRecordVO();
			vo.setId(dto.getId());
			vo.setVisitId(dto.getVisitId());//回访外键ID
			vo.setPersonnelTypeCd(dto.getPersonnelTypeCd());//回访人员类型-数据字典 0-承租人 1-担保人 2-紧急联系人
			vo.setPersonnelName(dto.getPersonnelName());//回访人员姓名
			vo.setRepresentativeName(dto.getRepresentativeName());//代访人姓名
			vo.setRepresentativePhone(dto.getRepresentativePhone());//代访人电话
			vo.setRelationshipCd(dto.getRelationshipCd());//与承租人关系-数据字典
			vo.setIsSelfAnswer(dto.getIsSelfAnswer());//是否本人接听  1-是  0-否
			vo.setIdentityCd(dto.getIdentityCd());//身份信息-数据字典 0-一致 1-不一致
			vo.setAddressCd(dto.getAddressCd());//家庭住址-数据字典 0-一致 1-不一致
			vo.setAddress(dto.getAddress());//另述地址
			vo.setJob(dto.getJob());//从事工作
			vo.setIsKnowInfo(dto.getIsKnowInfo());//是否知晓承租人购车信息
			vo.setIsHelpConact(dto.getIsHelpConact());//是否愿意协助我司联系
			vo.setAdditionalInfo(dto.getAdditionalInfo());//附加信息
			vo.setPhone(dto.getPhone());//回访电话
			vo.setContent(dto.getContent());//回访内容
			vo.setVisitTm(dto.getVisitTm());//回访时间
			vo.setTimes(dto.getTimes());//回访次数
			vo.setAccountManagerId(dto.getAccountManagerId());//客户经理-人员外键
			vo.setAuditorId(dto.getAuditorId());//信审员-人员外键
			vo.setAccountManagerNm(dto.getAccountManagerNm());
			vo.setAuditorNm(dto.getAuditorNm());
			vo.setVisitTypeCd(dto.getVisitTypeCd());//回访类型-数据字典 0-承租人 1-担保人/紧急联系人 2-后续

			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
			
			vo.setPersonnelTypeCdNm(dto.getPersonnelTypeCdNm());//回访人员类型
			vo.setRelationshipCdNm(dto.getRelationshipCdNm());//与承租人关系
			vo.setIsSelfAnswerNm(dto.getIsSelfAnswerNm());//是否本人接听
			vo.setIdentityCdNm(dto.getIdentityCdNm());//身份信息
			vo.setAddressCdNm(dto.getAddressCdNm());//家庭住址
			vo.setIsKnowInfoNm(dto.getIsKnowInfoNm());//是否知晓承租人购车信息
			vo.setIsHelpConactNm(dto.getIsHelpConactNm());//是否愿意协助我司联系
			vo.setVisitTypeCdNm(dto.getVisitTypeCdNm());//回访类型
			vo.setLastAuditorId(dto.getLastAuditorId());//贷后信审员id
			vo.setLastAuditorNm(dto.getLastAuditorNm());//贷后信审员Nm
			vo.setReturnVisitId(dto.getReturnVisitId());
			vo.setReturnVisitNm(dto.getReturnVisitNm());
			vo.setPostLoanRiskCd(dto.getPostLoanRiskCd());
			vo.setPostLoanRiskNm(dto.getPostLoanRiskNm());
			vo.setDataInitSource(dto.getDataInitSource());
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param dto AudVisitRecordVO
	 * @return AudVisitRecordDTO
	 */
	public static AudVisitRecordDTO toDTO(AudVisitRecordVO vo) {
		AudVisitRecordDTO dto = null;
		if (vo != null) {
			dto = new AudVisitRecordDTO();
			dto.setId(vo.getId());
			dto.setVisitId(vo.getVisitId());//回访外键ID
			dto.setPersonnelTypeCd(vo.getPersonnelTypeCd());//回访人员类型-数据字典 0-承租人 1-担保人 2-紧急联系人
			dto.setPersonnelName(vo.getPersonnelName());//回访人员姓名
			dto.setRepresentativeName(vo.getRepresentativeName());//代访人姓名
			dto.setRepresentativePhone(vo.getRepresentativePhone());//代访人电话
			dto.setRelationshipCd(vo.getRelationshipCd());//与承租人关系-数据字典
			dto.setIsSelfAnswer(vo.getIsSelfAnswer());//是否本人接听  1-是  0-否
			dto.setIdentityCd(vo.getIdentityCd());//身份信息-数据字典 0-一致 1-不一致
			dto.setAddressCd(vo.getAddressCd());//家庭住址-数据字典 0-一致 1-不一致
			dto.setAddress(vo.getAddress());//另述地址
			dto.setJob(vo.getJob());//从事工作
			dto.setIsKnowInfo(vo.getIsKnowInfo());//是否知晓承租人购车信息
			dto.setIsHelpConact(vo.getIsHelpConact());//是否愿意协助我司联系
			dto.setAdditionalInfo(vo.getAdditionalInfo());//附加信息
			dto.setPhone(vo.getPhone());//回访电话
			dto.setContent(vo.getContent());//回访内容
			dto.setVisitTm(vo.getVisitTm());//回访时间
			dto.setTimes(vo.getTimes());//回访次数
			dto.setAccountManagerId(vo.getAccountManagerId());//客户经理-人员外键
			dto.setAuditorId(vo.getAuditorId());//信审员-人员外键
			dto.setAccountManagerNm(vo.getAccountManagerNm());
			dto.setAuditorNm(vo.getAuditorNm());
			dto.setVisitTypeCd(vo.getVisitTypeCd());//回访类型-数据字典 0-承租人 1-担保人/紧急联系人 2-后续

			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人
			dto.setLastAuditorId(vo.getLastAuditorId());//贷后信审员id
			dto.setLastAuditorNm(vo.getLastAuditorNm());//贷后信审员Nm
			dto.setReturnVisitId(vo.getReturnVisitId());
			dto.setReturnVisitNm(vo.getReturnVisitNm());
			dto.setPostLoanRiskCd(vo.getPostLoanRiskCd());
			dto.setPostLoanRiskNm(vo.getPostLoanRiskNm());
			dto.setDataInitSource(vo.getDataInitSource());

		}
		return dto;
	}
	
	/**
	 * DTO集合 转 VO集合
	 * @param List<AudVisitRecordDTO>
	 * @return List<AudVisitRecordVO>
	 */
	public static List<AudVisitRecordVO> toVOList(List<AudVisitRecordDTO> list) {
		List<AudVisitRecordVO>  voList = new ArrayList<AudVisitRecordVO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (AudVisitRecordDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}
	
	/**
	 * VO集合 转 DTO集合
	 * @param list List<AudVisitRecordVO>
	 * @return List<AudVisitRecordDTO>
	 */
	public static List<AudVisitRecordDTO> toDTOList(List<AudVisitRecordVO> list) {
		List<AudVisitRecordDTO>  dtoList = new ArrayList<AudVisitRecordDTO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (AudVisitRecordVO vo : list) {
				dtoList.add(toDTO(vo));
			}
		}
		return dtoList;
	}
}
